﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;


public partial class GestionarSeguimientoPracticas_FrSeguimientoPractica : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["nomUsr"] != null)
        {
            Usuario usu = new Usuario();
            usu = usu.BuscarUsuario(Session["nomUsr"].ToString());
            if (usu.ObtRol() == "coordinador")
            {
                CargarValores(Session["Practica_idPractica"].ToString());
            }
            else
            {
                List<String> Permisos = (List<String>)Session["Permisos"];

                if (!Permisos.Contains(System.IO.Path.GetFileName(HttpContext.Current.Request.FilePath)))
                    Response.Redirect("/SUEWebSite/Error.aspx");
                else
                {
                    if (!Page.IsPostBack)
                    {
                        CargarValores(Request.QueryString["Practica_idPractica"]);

                    }

                }
            }
        }
    }

    private void CargarValores(String nombreUsuario)
    {
        GestionSeguimientos gS = new GestionSeguimientos();
        DataTable dt = gS.ObtSeguimientoEspecifico(Convert.ToInt32(Request.QueryString["Practica_idPractica"]));
        if (dt.Rows.Count > 0)
        {
            DataRow seguimiento = dt.Rows[0];
            CheckBoxPYC.Checked = Convert.ToBoolean(seguimiento["completoPYC"]);
            CheckBoxCarrera.Checked = Convert.ToBoolean(seguimiento["dobleCarrera"]);
            CheckBoxHojasVida.Checked = Convert.ToBoolean(seguimiento["entregoHV"]);
            CheckBoxEmpresaLeyoDocumentos.Checked = Convert.ToBoolean(seguimiento["empresaLeyo"]);
            TextBoxFechaLecturaEmpresa.Text = seguimiento["fechaEmpresaLeyoDoc"].ToString();
            CheckBoxPracticanteLeyoDocumentos.Checked = Convert.ToBoolean(seguimiento["practicanteLeyo"]);
            TextBoxFechaLecturaEstudiante.Text = seguimiento["fechaPracticanteLeyoDoc"].ToString();

            CheckBoxEntragaInforme1.Checked = Convert.ToBoolean(seguimiento["entregoInforme1"]);
            TextBoxInforme1.Text = seguimiento["fechaEntregaInforme1"].ToString();
            CheckBoxEntregoInforme2.Checked = Convert.ToBoolean(seguimiento["entregoInforme2"]);
            TextBoxInforme2.Text = seguimiento["fechaEntregaInforme2"].ToString();
            CheckBoxPresentacion1.Checked = Convert.ToBoolean(seguimiento["presentacion1"]);
            TextBoxPresentacion1.Text = seguimiento["fechaPresentacion1"].ToString();
            CheckBoxPresentacion2.Checked = Convert.ToBoolean(seguimiento["presentacion2"]);
            TextBoxPresentacion2.Text = seguimiento["fechaPresentacion2"].ToString();
            CheckBoxInformeGeneral.Checked = Convert.ToBoolean(seguimiento["entregoInforme3"]);
            TextBoxInformeGeneral.Text = seguimiento["fechaEntregaInforme3"].ToString();

            CheckBoxManualUsuario.Checked = Convert.ToBoolean(seguimiento["manualUsuario"]);
            TextBoxManualUsuario.Text = seguimiento["fechaManualUsuario"].ToString();
            CheckBoxManualTecnico.Checked = Convert.ToBoolean(seguimiento["manualTecnico"]);
            TextBoxManualTecnico.Text = seguimiento["fechaManualTecnico"].ToString();

            CheckBoxValoracion.Checked = Convert.ToBoolean(seguimiento["empresaEnvioValoracion"]);
            TextBoxFechaValoracion.Text = seguimiento["fechaEnvioValoracion"].ToString();
            CheckBoxCamaraComercio.Checked = Convert.ToBoolean(seguimiento["entegoCamaraComercio"]);
            CheckBoxSancion.Checked = Convert.ToBoolean(seguimiento["sancionEmpresa"]);

            CheckBoxObjetivos.Checked = Convert.ToBoolean(seguimiento["cambioObjetivos"]);
            
            TextBoxFechaFinalizacion.Text = seguimiento["fechaFinalizacionPractica"].ToString();
            DropDownListEstadoTerminacion.Enabled = true;
            TextBoxObservacion.Text = seguimiento["observaciones"].ToString();

        }

    }
    protected void ButtonModificar1_Click(object sender, EventArgs e)
    {
        CheckBoxPYC.Enabled = true;
        CheckBoxCarrera.Enabled = true;
        CheckBoxHojasVida.Enabled = true;
        CheckBoxEmpresaLeyoDocumentos.Enabled = true;
        TextBoxFechaLecturaEmpresa.Enabled = true;
        CheckBoxPracticanteLeyoDocumentos.Enabled = true;
        TextBoxFechaLecturaEstudiante.Enabled = true;

        CheckBoxEntragaInforme1.Enabled = true;
        TextBoxInforme1.Enabled = true;
        CheckBoxEntregoInforme2.Enabled = true;
        TextBoxInforme2.Enabled = true;
        CheckBoxPresentacion1.Enabled = true;
        TextBoxPresentacion1.Enabled = true;
        CheckBoxPresentacion2.Enabled = true;
        TextBoxPresentacion2.Enabled = true;
        CheckBoxInformeGeneral.Enabled = true;
        TextBoxInformeGeneral.Enabled = true;

        CheckBoxManualUsuario.Enabled = true;
        TextBoxManualUsuario.Enabled = true;
        CheckBoxManualTecnico.Enabled = true;
        TextBoxManualTecnico.Enabled = true;

        CheckBoxValoracion.Enabled = true;
        TextBoxFechaValoracion.Enabled = true;
        CheckBoxCamaraComercio.Enabled = true;
        CheckBoxSancion.Enabled = true;

        CheckBoxObjetivos.Enabled = true;
        ButtonSubirActa.Enabled = true;
        FileUploadActa.Enabled = true;
        GridViewActasSeguimiento.Enabled = true;
        

        TextBoxFechaFinalizacion.Enabled = true;
        DropDownListEstadoTerminacion.Enabled = true;
        TextBoxObservacion.Enabled = true;

        ButtonGuardar2.Enabled = true;
        ButtonGuardar.Enabled = true;
        ButtonModificar.Enabled = false;
        ButtonModificar1.Enabled = false;
        ButtonSubirActa.Enabled = true;
        FileUploadActa.Enabled = true;
    }
    protected void ButtonGuardar2_Click(object sender, EventArgs e)
    {
        GestionSeguimientos gS = new GestionSeguimientos();
        int idPractica = Convert.ToInt32(Request.QueryString["Practica_idPractica"]);
        DataTable tmp = gS.ObtSeguimientoEspecifico(idPractica);
        if (tmp.Rows.Count == 0)
        {
            gS.CrearSeguimiento(idPractica, CheckBoxPYC.Checked, CheckBoxCarrera.Checked, CheckBoxHojasVida.Checked, CheckBoxEmpresaLeyoDocumentos.Checked, TextBoxFechaLecturaEmpresa.Text, CheckBoxPracticanteLeyoDocumentos.Checked, TextBoxFechaLecturaEstudiante.Text, CheckBoxEntragaInforme1.Checked, TextBoxInforme1.Text, CheckBoxEntregoInforme2.Checked, TextBoxInforme2.Text, CheckBoxPresentacion1.Checked, TextBoxPresentacion1.Text, CheckBoxPresentacion2.Checked, TextBoxInforme2.Text, CheckBoxInformeGeneral.Checked, TextBoxInformeGeneral.Text, CheckBoxManualUsuario.Checked, TextBoxManualUsuario.Text, CheckBoxManualTecnico.Checked, TextBoxManualTecnico.Text, CheckBoxValoracion.Checked, TextBoxFechaValoracion.Text, CheckBoxCamaraComercio.Checked, CheckBoxSancion.Checked, CheckBoxObjetivos.Checked, TextBoxFechaFinalizacion.Text, DropDownListEstadoTerminacion.SelectedValue, TextBoxObservacion.Text);
            //mensaje de creado

        }
        else
        {
            gS.ModSeguimiento(idPractica, CheckBoxPYC.Checked, CheckBoxCarrera.Checked, CheckBoxHojasVida.Checked, CheckBoxEmpresaLeyoDocumentos.Checked, TextBoxFechaLecturaEmpresa.Text, CheckBoxPracticanteLeyoDocumentos.Checked, TextBoxFechaLecturaEstudiante.Text, CheckBoxEntragaInforme1.Checked, TextBoxInforme1.Text, CheckBoxEntregoInforme2.Checked, TextBoxInforme2.Text, CheckBoxPresentacion1.Checked, TextBoxPresentacion1.Text, CheckBoxPresentacion2.Checked, TextBoxInforme2.Text, CheckBoxInformeGeneral.Checked, TextBoxInformeGeneral.Text, CheckBoxManualUsuario.Checked, TextBoxManualUsuario.Text, CheckBoxManualTecnico.Checked, TextBoxManualTecnico.Text, CheckBoxValoracion.Checked, TextBoxFechaValoracion.Text, CheckBoxCamaraComercio.Checked, CheckBoxSancion.Checked, CheckBoxObjetivos.Checked, TextBoxFechaFinalizacion.Text, DropDownListEstadoTerminacion.SelectedValue, TextBoxObservacion.Text);
            //mensaje de modificado

        }
        ButtonGuardar2.Enabled = false;
        ButtonGuardar.Enabled = false;


    }
    protected void ButtonGuardar_Click(object sender, EventArgs e)
    {
        ButtonGuardar2_Click(sender, e);
    }
    protected void ButtonModificar_Click(object sender, EventArgs e)
    {
        ButtonModificar1_Click(sender, e);

    }

    protected void ButtonSubirActa_Click(object sender, EventArgs e)
    {
        GestionSeguimientos gS = new GestionSeguimientos();
        int idPractica = Convert.ToInt32(Request.QueryString["Practica_idPractica"]);
        DataTable tmp = gS.ObtSeguimientoEspecifico(idPractica);
        if (tmp.Rows.Count > 0)
        {

            if ((FileUploadActa.PostedFile != null) && (FileUploadActa.PostedFile.ContentLength > 0))
            {
                string fn = System.IO.Path.GetFileName(FileUploadActa.PostedFile.FileName);
                DirectoryInfo DIR = new DirectoryInfo(Server.MapPath("../Archivo/Practicas/" + idPractica) + "\\" + "ActasObjetivos");
                if (!DIR.Exists)
                    DIR.Create();
                string SaveLocation = Server.MapPath("../Archivo/Practicas/" + idPractica) + "\\" + "ActasObjetivos" + "\\" + fn;

                try
                {
                    FileUploadActa.PostedFile.SaveAs(SaveLocation);
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.success('El acta ha sido subida satisfactoriamente', {timeout: 2 , showClose: false });", true);
                }
                catch
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.error('No se pudo subir el archivo!', {timeout: 4 , showClose: false });", true);
                }
             
            }
            else
                ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.error('No ha seleccionado un archivo!', {timeout: 4 , showClose: false });", true);
        }
        else
            ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.error('No a guardado el seguimiento aún!', {timeout: 4 , showClose: false });", true);

    }
    protected void ButtonCancelar3_Click(object sender, EventArgs e)
    {
        Response.Redirect("/SUEWebSite/GestionarPracticas/FrModPractica.aspx?idPractica=" + Request.QueryString["Practica_idPractica"].ToString());
    }
    protected void ButtonCancelar_Click(object sender, EventArgs e)
    {
        ButtonCancelar3_Click(sender, e);
    }
}
